#include<iostream>
#include<unistd.h>
#include<sys/types.h>
#include<vector>
using namespace std;
//int main()
//{
//    pid_t id = fork();
//    
//    if(id > 0)
//    {
//        while(1)
//        {
//             cout<<"这是父进程id: "<<getpid()<<"父id :"<<getppid()<<endl;
//             sleep(2);
//        }
//    }
//    else
//    {
//       while(1)
//       {
//            cout<<"这是子进程id: "<<getpid()<<"父id :"<<getppid()<<endl;
//            sleep(2);
//       }
//    }
//    return 0;
//}
//

int num = 10;

void downloadprocess()
{
    while(1)
    {
       cout<<"这是子进程 id:"<<getpid()<<endl;
       sleep(100);
    }

}
int main()
{
    vector<pid_t> allchild;

    for(int i = 0;i < num;i++)
    {
        pid_t id = fork();
        if(id == 0)
        {
        //    pid_t pt = getpid();
        //    cout<<pt<<" ";
            downloadprocess();
        }
        allchild.push_back(id);
    }
    sleep(5);

    cout<<"这是所有子进程："<<" ";
    for(auto e : allchild)
    {
        cout<<e<<" ";
    }
    cout<<endl;
    sleep(10);
     while(1)
    {
        cout << "我是父进程，id: " <<getpid() << endl;
        sleep(1);
    }
    cout<<endl;
    return 0;
}
